home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / hash / RCS / Hash_EnumFirst.man,v < prev    next >
Text File  |  1988-12-30  |  2KB  |  79 lines

  1. head     1.1;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @@;
  7.  
  8.  
  9. 1.1
  10. date     88.12.30.15.05.20;  author ouster;  state Exp;
  11. branches ;
  12. next     ;
  13.  
  14.  
  15. desc
  16. @@
  17.  
  18.  
  19.  
  20. 1.1
  21. log
  22. @Initial revision
  23. @
  24. text
  25. @' $Header: Hash_EnumFirst,v 1.1 86/11/19 17:12:58 ouster Exp $ SPRITE (Berkeley)
  26. .so \*(]ltmac.sprite
  27. .HS Hash_EnumFirst lib
  28. .BS
  29. .SH NAME
  30. Hash_EnumFirst, Hash_EnumNext \- step through all the entries in a hash table 
  31. .SH SYNOPSIS
  32. .nf
  33. \fB#include <hash.h>\fR
  34.  
  35. Hash_Entry *
  36. \fBHash_EnumFirst\fR(\fItablePtr, searchPtr\fR)
  37.  
  38. Hash_Entry *
  39. \fBHash_EnumNext\fR(\fIsearchPtr\fP)
  40. .AS Hash_Search *searchPtr
  41. .SH ARGUMENTS
  42. .AP Hash_Table *tablePtr in
  43. Hash table whose entries are to be enumerated.
  44. .AP Hash_Search *searchPtr in
  45. Structure in which information can be stored about the state of the
  46. search between calls to \fBHash_EnumFirst\fR and/or \fBHash_EnumNext\fR.
  47. .BE
  48.  
  49. .SH DESCRIPTION
  50. .LP
  51. \fBHash_EnumFirst\fR and \fBHash_EnumNext\fR permit each of the entries in a hash
  52. table to be examined in order.  \fBHash_EnumFirst\fR returns the first entry
  53. in the given hash table and sets up the Hash_Search structure
  54. at \fI*searchPtr\fP;  if the
  55. table is empty it returns NULL.  \fBHash_EnumNext\fR returns the
  56. next entry in the table using the information stored in \fI*searchPtr\fP,
  57. and updates the contents of \fI*searchPtr\fP;  when the entire table
  58. has been scanned, it returns NULL.  Entries are returned in order of
  59. their position in the table's buckets, which does not usually make
  60. any sense to the caller.
  61. .LP
  62. A typical usage of these procedures is:
  63. .DS
  64. Hash_Search search;
  65. Hash_Entry *entryPtr;
  66. Hash_Table table;
  67.  
  68.  ...
  69.  
  70. for (entryPtr = Hash_EnumFirst(&table, &search);
  71.     entryPtr != NULL; entryPtr = Hash_EnumNext(&search)) {
  72.     ...
  73. }
  74. .DE
  75.  
  76. .SH KEYWORDS
  77. enumerate, hash table
  78. @
  79.